<template>
    <view class="page">
        <hj-navbar title="个人中心" />
        <view class="content">
            <hj-image
                img="https://cdn.uviewui.com/uview/album/1.jpg"
                :isPreview="true"
                :showPreviewMenu="true"
                height="400rpx"
            />
            <Demo1 />
        </view>
        <hj-safe-footer />
    </view>
</template>

<script setup>
// 导入uniapp生命周期函数
import { onLoad, onShow, onUnload, onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app'
import { logger } from '@/utils/log.js'
import { ref, defineComponent } from 'vue'
// api导入
import { getEnableApi } from '@/libs/api/baseApi.js'
import { IMAGES_URL } from '@/libs/common/baseUrl.js'
import Demo1 from './components/Demo1.vue'
// 引入组件
defineComponent({
    components: {
        Demo1
    }
})
onLoad(async param => {
    logger.log('param=', param)
    await fetchUserInfo()
})

// #ifdef MP-WEIXIN
// #endif
onShow(async () => {
    /**
     * 这里只做代码演示
     * uni.$on 的使用必须在当前页面的onUnload生命周期中使用 uni.$off 销毁，且这两个一般放在上一页面内
     * 第一个参数为事件名称，不管用uni.$emit还是uni.$off，需要名称一致
     * 第二个参数为回调函数
     */
    await uni.$on('update', data => {
        console.log('监听到事件来自 update ，携带参数 msg 为：' + data)
    })
})

onUnload(() => {
    uni.$off('update')
})
// 接口调用测试
const fetchUserInfo = async () => {
    try {
        const res = await getEnableApi()
        logger.log('res====', res)
        uni.$emit('update', 'demo返回数据')
    } catch (error) {
        logger.error({ '[getEnableApi]-初始化失败：': res })
    }
}

// 点击微信小程序右上角分享
onShareAppMessage(() => {
    return {
        title: '分享了一个好东西给你，快来看看吧！',
        path: '/pages/index/index',
        imageUrl: `${IMAGES_URL}drone-03.svg` //图片比例为5:4
    }
})
// 分享到朋友圈,只能分享当前页面，不能指定页面。
onShareTimeline(() => {
    return {
        title: '分享了一个好东西给你，快来看看吧！',
        imageUrl: `${IMAGES_URL}drone-03.svg`
    }
})
</script>

<style scoped lang="scss"></style>
